Many legacy software host applications exist today which are relied upon by many companies to perform their mission critical operations. Over time, many man hours have been invested in these host applications in the form of maintenance and new feature enhancements. These applications have proven to be reliable and due to their long term use address practically any user scenario that may arise. However, these host applications typically have character based user interfaces. Due to the growth of the world wide web and the prevalent use of graphical web interfaces by the general public, companies reliant on these host applications are typically pressured to expose access to the host application via a world wide web interface which is typically supported by a content browser such as a web browser.
The term “web to host integration” means presenting in real time a user interface which is displayed in a web browser. The user interface communicates and integrates with a legacy host user interface in order to extend usability, functionality, and life of the underlying legacy host application. In providing a web to host integration, particular challenges arise. One challenge includes automatically recognizing differing host components that may appear on a host screen. A second challenge is how to efficiently transform host data extracted from the host user interface so that the presentation of the host data at the web user interface can be manipulated by a user in a fashion which utilizes the features of a graphical user interface. The manipulated data on the web user interface is translated as though it was performed on the host user interface directly.
For example, a legacy host interface typically composes many screens where each screen has many host user interface components. One host component may require a user to make a selection from a list of potential options. Typical legacy host interfaces require a user to make a selection by tabbing a screen cursor to a desired field, inputting a character, and pressing the enter key to effect the selection. Using a web interface such as one developed in Java®, XML, Javascript®, or the like, a user would typically highlight a radio button by the desired selection with a mouse and click the mouse button. The challenge is to recognize in real time that the legacy host screen requires a selection paradigm and to provide a corresponding web interface which presents the same data in substantially the same location on a screen while providing a selection capability in its own paradigm, highlighting a radio button, for example. When multiple host user interface paradigms are present in a host screen, coordinating the transformation between different corresponding web interface paradigms becomes problematic.
Many efforts have been made to address these and other problems associated with web to host integration. Some prior improvements remedy to some degree some of the shortcomings mentioned above, but none, until the present invention, has effectively solved a majority of these problems. For example, one approach is to utilize predefined maps of the host interface. Software developers of the host application typically publish these predefined maps. Based on these predefined maps, programmers use tools such as IBM's WebFacing to develop a web interface before the solution is deployed. A second approach, for example, IBM's Host Publisher XML gateway, involves tapping protocol information carried in a data stream between the host interface and the host computer to recognize some basic interface components such as text, input fields, and password fields. These basic components are explicitly indicated in the protocol. Once the particular indication is read from the protocol, a predefined transformation to a web interface is performed. A third approach expands the second approach by also hard coding predetermined transformations of specific components not explicitly noted within the data stream such as input received through function keys. However, to recognize these more complex components, a programmer needs to specify where a field is expected to reside in a screen typically by using a predefined template.
Clearly, due to the increasing cost of software development, systems and methods are needed to achieve web to host integration with greater efficiency and flexibility to handle more complex user interface paradigms by automatically recognizing host interface paradigms and automatically transforming those paradigms to create and display a graphical interface for the underlying host application.